package com.design.pattern.sixprinciple.interfacequarantine;

/**
 * 接口隔离原则
 * <p>
 * 一个模块只依赖它需要的接口,保证接口的小纯洁,接口尽量细化,减少不必要的逻辑方法的声明;
 * 接口隔离原则的两种定义:
 * <p>
 * 第一种：Clients should not be forced to depend upon interfacesegregation that they don't use.(客户端不应该强行依赖它不需要的接口)
 * 第二种：The dependency of one class to another one should depend on the smallest possible interface.（类间的依赖关系应该建立在最小的接口上）
 * <p>
 * 这里的接口指的不仅仅是通过interface定义的接口
 * <p>
 * 1、对象接口（Object Interface）
 * JAVA中声明的一个类，通过new关键字产生的一个实例，它是对一个类型的事物的描述，这也是一种接口。例如：
 * Phone  phone = new  Phone();  这里的类Person就是实例phone的一个接口
 * <p>
 * 2、类接口（Class Interface）
 * 这种接口就是通过interface关键字定义的接口了
 * 接口隔离原则与单一职责原则有些相似，不过不同在于：单一职责原则要求的是类和接口职责单一，注重的是职责，
 * 是业务逻辑上的划分。而接口隔离原则要求的是接口的方法尽量少，尽量有用（针对一个模块）
 *
 * @author gyf
 * @create 2018-12-21 11:34
 **/
public class InterfaceQuarantine {
}
